package com.cn.serverline.lineicp.produce.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.cn.serverline.lineicp.produce.entity.StepRequired;
import com.cn.serverline.lineicp.produce.entity.dto.PlanDetailsDTO;
import com.cn.serverline.lineicp.produce.entity.dto.PlanRequestDTO;
import com.cn.serverline.lineicp.produce.entity.vo.PlanDetailsVO;
import com.cn.serverline.lineicp.produce.entity.vo.PlanDetailsbVO;
import com.cn.serverline.lineicp.produce.entity.vo.StopDurationInfoVo;
import com.cn.serverline.lineicp.produce.entity.vo.TasksByLotNoVo;
import com.github.yulichang.base.MPJBaseService;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 工步所需 服务类
 * </p>
 *
 * @author 王烁
 * @since 2024-08-12
 */
public interface IStepRequiredService extends MPJBaseService<StepRequired> {
    /**
     * 获取生产执行追溯页 第一个列表数据
     * @param lotNo
     * @return
     */
    List<TasksByLotNoVo> getTasksByLotNo(String lotNo);

    /**
     * 获取生产执行追溯页 第二个列表数据
     * @param lotNo
     * @return
     */
    List<StopDurationInfoVo> getStopDurationInfo(String lotNo);

    /**
     * 获取生产执行追溯页 总装的叫料、下发id、工序id和名称的查询
     * @param requestDTO
     * @return
     */
    List<HashMap<String, String>> getPlanDetails(PlanRequestDTO requestDTO);

    /**
     * 获取生产执行追溯页 部装的叫料、下发id、工序id和名称的查询
     * @param requestDTO
     * @return
     */
    Map<String, List<PlanDetailsbVO>> getProductionTraceabilityDetails(PlanDetailsDTO requestDTO);
}
